package com.sc.VenusQueryBeta.contract.account.changmian;

//**

import com.hengjun.kingstar.sdk.base.BasePresenter;
import com.hengjun.kingstar.sdk.base.IBaseActivity;
import com.hengjun.kingstar.sdk.base.IBaseModel;
import com.sc.VenusQueryBeta.model.bean.account.AllRoomListBean;
import com.sc.VenusQueryBeta.model.bean.account.CurrencyListBean;
import com.sc.VenusQueryBeta.model.bean.account.MaxChangemonthBean;
import com.sc.VenusQueryBeta.model.bean.account.changmian.ChangMianPopBean;
import com.sc.VenusQueryBeta.model.bean.account.changmian.ChangmianBean;

import io.reactivex.Observable;

/** Created by SC-02 on 2018/9/19.
        *  场面明细Contract(契约)接口
        */

public interface ChangMianContract  {
    abstract class ChangMianPresenter extends BasePresenter<IChangMianModel,IChangMianView> {
        //查询厅(根据账房那边排序)
//        public abstract void queryAllRoomList(String serverAddress, String projectName, int serverPort);
        public abstract void queryAllCurrencyList(String serverAddress, String projectName, int serverPort);

        //查询场面明细
        public abstract void queryClientWinnumMessage(String serverAddress, String projectName, int serverPort,int clientindex,String roommonth, String roomyear,
                                                      String currencynameCN );

        //查询最大日期
//        public abstract void queryMaxChangemonth(String serverAddress, String projectName, int serverPort, int roomid);
        //場面pop
        public abstract void changmianpop(String serverAddress, String projectName, int serverPort, int winnumindex);
    }
    interface IChangMianModel extends IBaseModel {
        //查询场面明细
        Observable<ChangmianBean> queryClientWinnumMessage(String serverAddress, String projectName, int serverPort, int clientindex, String roommonth, String roomyear,
                                                           String currencynameCN);

        //查询厅(根据账房那边排序)
        Observable<CurrencyListBean> queryAllCurrencyList(String serverAddress, String projectName, int serverPort);
        //查询最大日期
//        Observable<MaxChangemonthBean> queryMaxChangemonth(String serverAddress, String projectName, int serverPort, int roomid);

        //場面pop
        Observable<ChangMianPopBean> changmianpop(String serverAddress, String projectName, int serverPort, int winnumindex);
    }
    interface IChangMianView extends IBaseActivity {
        //場面明細
        void showChangMianDataSuccess(ChangmianBean changmianBean);

        void showNetworkError(Throwable throwable);

        void showqueryAllCurrencyList(CurrencyListBean currencyListBean);

        //最大日期
//        void showMaxChangemonthList(MaxChangemonthBean allRoomListBean);

        //場面明細pop
        void showChangMianPopSuccess(ChangMianPopBean changMianPopBean);

        void showAllCurrencyNetworkError(Throwable throwable);
    }
}
